The present invention relates to computer networking. More particularly, the present invention relates to devices and methods for seamlessly interconnecting stations over an asynchronous transfer mode (ATM) network.
A local area network (LAN) segment is a computer sub-network which includes multiple stations in the same physical area communicating by forwarding messages on a shared LAN media Stations on different LAN segments in the same physical area often communicate through a shared LAN switching fabric, which selectively forwards messages received over the fabric to the destination LAN segment. Stations on different LAN segments in different physical areas, in contrast, often communicate over an ATM network which interconnects multiple LAN switches or bridges on the edge of the network. In such an arrangement, each LAN switch or bridge selectively forwards messages received over the ATM network to the destination LAN segment.
An ATM network may be a xe2x80x9cbackbonexe2x80x9d network in a campus environment or a wide area network (WAN). Importantly, an ATM network may not only support multiple LAN segments in different physical areas; it may also support multiple virtual LANs (VLANs). A VLAN is an aggregate of LAN segments which are part of the same logical group, but not necessarily the same physical group. By limiting the flow of messages across VLAN boundaries, an ATM network can conserve network bandwidth and enhance network security.
Communication over ATM networks differs from communication on LAN segments, and from communication between LAN segments over LAN switches and bridges, in terms of the way messages are delivered. A station desiring to communicate with another station on the same LAN segment does not need to know where the destination station is located within the segment. Instead, the source station relies on the broadcast capability of the LAN media to propagate all messages to all stations on the segment An interface on the intended destination station captures the message. Other interfaces on the segment ignore the message. Similarly, if a message propagated on a LAN segment is destined for a station on a different LAN segment associated with the same LAN switch or bridge, the LAN switch or bridge interconnecting the two segments will typically capture and propagate the message on a switching fabric connecting the two segments. In turn, an interface on the LAN switch or bridge associated with the intended destination LAN segment captures and propagates the message on the segment. Other interfaces on the LAN switch/bridge ignore the message. Again, there is no requirement that the source station know where the intended destination station resides within the network for successful communication. Rather, communication between the stations on different LAN segments over the LAN switch/bridge is xe2x80x9cseamlessxe2x80x9d because the stations can communicate as if they are on the same LAN segment.
In contrast, ATM networks are not broadcast-oriented. Communicating over an ATM network, whether implemented as a backbone or WAN, requires that point-to-point connections be established across the ATM network. This requires that the location of the intended destination station be known prior to message forwarding over the network. Thus, a desire has arisen for services which extend LAN-type xe2x80x9cplug-and-playxe2x80x9d to ATM networks by meeting ATM""s requirement of point-to-point connections without having to configure on every source station a point-to-point mapping over the ATM network to every possible destination station.
One way to provide such seamless communication is to have devices on the edge of the ATM network (e.g., LAN switches or bridges) learn the locations Q all stations connected to the network and provide the necessary connections over the network. A widely-used technique for creating such an environment is the ATM Forum""s LAN Emulation (LANE) protocol. This technique emulates a LAN environment using LANE services (including a configuration server, a control server, a broadcast and unknown server) which assists multiple LANE xe2x80x9cclientsxe2x80x9d in communicating over the ATM network. The clients are the devices on the edge of the ATM network, typically LAN switches or bridges. Where the client is a LAN switch or bridge, the client is assigned an ATM address. Behind the client are multiple stations with distinct media access control (MAC) addresses. When a message is presented for forwarding over the ATM network, the client typically resolves the destination MAC address encoded in the message, which is a unique address of a station behind another client, to the ATM address of the other client provided by the control server. By doing so, the LANE protocol allows clients to set-up connections across the ATM network dynamically on an xe2x80x9cas neededxe2x80x9d basis. This allows seamless communication between stations behind one client and stations behind another client.
The ATM Forum""s LANE protocol, however, has certain limitations. First, the LANE protocol concentrates control functions for the entire xe2x80x9cemulated LANxe2x80x9d in centralized servers. Such concentration of resources means that failure of a single server can bring down the entire service. Second, LANE protocol requires that each participating client follow detailed configuration, join, registration, learning and connection set-up procedures. Third, LANE protocol requires that messages be formatted for the particular LAN media which the ATM network is xe2x80x9cemulatingxe2x80x9d (e.g., Token Ring) before forwarding the messages over the ATM network. This often necessitates media translations before message forwarding can proceed. Such requirements have hindered the robustness of seamless communication over ATM networks.
Accordingly, there is a need for a simple and less cumbersome service for providing seamless communication over an ATM network.
It is an object of the present invention to provide a service for seamless communication over an ATM network which will not be brought down in the event of a single point failure.
It is another object of the present invention to provide a service for seamless communication over an ATM network with efficient message forwarding over optimized, permanently configured connections.
It is another object of the present invention to provide a service for seamless communication over an ATM network which is self-configuring.
It is another object of the present invention to provide a service for seamless communication over an ATM network which can support multiple LAN media types.
It is another object of the present invention to provide a service for seamless communication over an ATM network which can support multiple VLANs.
It is another object of the present invention to provide a service for seamless communication over an ATM network which can operate in multiple instances on a single interface (or multiple interfaces) of a single edge device.
These and other objects of the present invention are achieved using a plurality of intelligent devices at the edge of an ATM network which serve as peer members of one or more instances of a seamless communication service.
In one aspect of the invention, configured on each member of a service instance are a xe2x80x9cbroadcast outxe2x80x9d table which associates other members with a single, point-to-multipoint xe2x80x9cbroadcast outxe2x80x9d virtual circuit and a member table which associates each other member with a point-to-point xe2x80x9cdirectxe2x80x9d virtual circuit and a point-to-point xe2x80x9cbroadcast inxe2x80x9d virtual circuit.
In another aspect of the invention, the service instance is self-configuring. A single edge device is selected as a xe2x80x9cmasterxe2x80x9d member for purposes of service configuration. Other edge devices seeking to join the service are supplied with the ATM address of the master member and use the address to advertise their respective ATM addresses to the master member. The master-member, in turn, advertises the addresses to all joining members so that joining members can configure member and xe2x80x9cbroadcast outxe2x80x9d tables associating other members with virtual circuits negotiated with other members using ATM signalling procedures.
In another aspect of the invention, when a member is presented with a message encoded with a unicast destination address for forwarding over the ATM network, a representation of the destination address is looked-up in the member""s learning table. If an entry for the destination address is not found, i.e., if the message is xe2x80x9cunknown unicastxe2x80x9d, the message is formatted and forwarded to all other members on the xe2x80x9cbroadcast outxe2x80x9d virtual circuit. Alternatively, unknown unicast messages may be copied formatted and forwarded to all other members on the xe2x80x9cdirectxe2x80x9d virtual circuits. When the message arrives at the receiving members, the members look-up a representation of the source s address encoded in the message in their respective learning tables to determine if the address has been leaned, i.e., associated with the xe2x80x9cdirectxe2x80x9d virtual circuit to the forwarding member. If the address has not been learned, the receiving members use the xe2x80x9cbroadcast inxe2x80x9d virtual circuit identifier encoded in the message to associate the source address representation with the xe2x80x9cdirectxe2x80x9d virtual circuit to the forwarding member and store the related pairs in their respective learning tables. Since the stored source address representations are associated with stations behind other members, the members can use the related pairs to resolve the destination addresses of future messages presented for forwarding to such addresses to a xe2x80x9cdirectxe2x80x9d virtual circuit to the receiving member. Thus, such future messages will be xe2x80x9cknown unicastxe2x80x9d and can be formatted and forwarded on the xe2x80x9cdirectxe2x80x9d virtual circuit to the receiving member using a simple table look-up, without the need for a broadcast. All addresses are stored in the learning table in a common bit order format to avoid duplicative learning and retrieval errors.
In another aspect of the invention, when a member is presented with a message having a broadcast or multicast destination address for forwarding over the ATM network, the message is formatted and forwarded to all other members on the xe2x80x9cbroadcast outxe2x80x9d virtual circuit. Alternatively, broadcast and multicast messages may be copied, formatted and forwarded to all other members on the xe2x80x9cdirectxe2x80x9d virtual circuits.
In another aspect of the invention, the service supports multiple LAN media. Thus, any required media translations are performed only after the message, has been captured off the ATM network by a receiving member, before transmitting on the LAN media.
In another aspect of the invention, the service supports multiple VLANs. Each message forwarded over the ATM network is encoded with the identifier of a VLAN. When the message is forwarded to another member, the receiving member verifies that the VLAN identifier encoded in Me message is active on a station behind the member. If no VLAN match is found, the message is dropped without further processing. When the service is implemented with multiple VLANs, it can be described as a VLAN cluster service (VCS).
In another aspect of the invention, the service can operate in multiple instances on a single interface of a single edge device. When the message is forwarded to an edge device, the receiving edge device verifies that the virtual circuit identifier encoded in the message is associated with at least one VCS instance to which the edge device belongs. If the virtual circuit identifier is not found, the message is dropped without further processing.
The present invention can be better understood by reference to the following detailed description, taken in conjunction with the accompanying drawings which are briefly described below. Of course, the actual scope of the invention is defined by the appended claims.